home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / fsw / zm302 / zm302_x.lzh / MINTPATCH.LZH / FOR_MINT.TXT next >
Text File  |  1996-10-03  |  2KB  |  116 lines

  1. ZMSC3.Xがmint上で動作しない!!とお嘆きの貴方に
  2.  
  3. ----------------------------------------------------------------
  4.  
  5. mint.xは定義ファイル.mint(_mintの方もいる?)で
  6.  
  7. %mdxt    1
  8.  
  9. を設定している場合
  10. ZMSC3.Xを常駐させると、内部でver3.0で変更になったファンクション
  11. $4E(旧get_1st_comment)を呼出し、エラーが発生してしまいます。
  12.  
  13. そこで、ZMSC3.Xが常駐している場合はZMUSICは常駐していないと
  14. みなすようにmint.x ver2.25の方にパッチをあててみました。
  15.  
  16.  
  17. ----------------------------------------------------------------
  18.  
  19. ・mintがver2.25の場合
  20.  
  21. カレントディレクトリにmint.xとmint.bfdを置いて
  22.  
  23. bup mint.bfd
  24.  
  25. でパッチをあてて下さい。
  26.  
  27. ----------------------------------------------------------------
  28.  
  29. ・バージョンが違う場合
  30.  
  31. 定義ファイル.mint(_mint)中の
  32.  
  33. %mdxt    1
  34.  
  35.  
  36. %mdxt    0
  37.  
  38. に書き換えて下さい。
  39.  
  40. ----------------------------------------------------------------
  41.  
  42.  
  43. おまけ
  44.  
  45.  
  46. ZMUSIC ver2.0対応のプログラムは
  47. 概ね以下のようなルーチンでZMUSIC.xの常駐チェックを行なっています。
  48.  
  49.  
  50.  
  51. ZMUSIC_CHECK_IMCOMPLETE:
  52.  
  53.     moveq.l    #$00,D0
  54.     movea.l    $008C.w,A0
  55.     subq.l    #$08,A0                *-8
  56.     cmpi.l    #'ZmuS',(A0)+            *'ZmuSiC'先頭4文字
  57.     bne    @f
  58.     cmpi.w    #'iC',(A0)            *残り2文字
  59.     bne    @f
  60.     moveq.l    #$FF,D0                *エラーコード
  61. @@:
  62.     rts
  63.  
  64.  
  65.  
  66. この場合、常駐しているのがver2.0なのかver3.0なのかを判別していません。
  67.  
  68. そこで、このサブルーチンのマシンコードサイズを変えないように
  69. ver3.0のチェックを実装すると以下のようになります。
  70.  
  71.  
  72.  
  73. ZMUSIC_V2_CHECK:
  74.  
  75.     moveq.l    #$00,D0
  76.     movea.l    $008C.w,A0
  77.     subq.l    #$06,A0                *-6    <<(注意)
  78.     cmpi.l    #'uSiC',(A0)+            *残り4文字
  79.     bne    @f
  80.     cmpi.w    #$3040,(A0)            *バージョン3か?
  81.     bcc    @f
  82.     moveq.l    #$FF,D0
  83. @@:
  84.     rts
  85.  
  86.  
  87. 文字列の比較は先頭2文字を除いた残り4文字しかせず
  88. その分をバージョンチェックに割り当てています。
  89.  
  90. このようにすれば、逆アセンブルしたソースを変更したものから
  91. 再アセンブルした場合に正しいプログラムが作成されないような
  92. プログラムにもパッチをあてることができます。
  93.  
  94.  
  95.  
  96. 本来ならば、6文字全ての比較+バージョンチェックを
  97. するべきなのは言うまでもないでしょう。
  98.  
  99. 他のZMUSIC対応プログラムに関しても
  100. 作者の方が直接対応して下さるのが一番でしょうが
  101. 当面は上記のような方法で各自対処してみて下さい。
  102.  
  103.  
  104. ----------------------------------------------------------------
  105.  
  106.  このファイル及び付属のmint.bfdは
  107. X68k、ZMUSIC、mintを利用されている全てのユーザに閲覧されることを
  108. 目的として作成されました。
  109.  
  110. ----------------------------------------------------------------
  111.  
  112.  
  113.  
  114.     [MZL]
  115.